package group.rober.saber.jdbc.query.executor;

import group.rober.saber.jdbc.query.PaginationQuery;
import group.rober.saber.jdbc.query.PaginationQueryResult;

import java.util.Map;

/**
 * Created by tisir<yangsong158@qq.com> on 2017-05-26
 * SQL查询执行器
 */
public interface PaginationQueryExecutor {
    /**
     * 分页查询执行
     * @param paginationQuery 查询对象
     * @param classType 返回结果类型
     * @param columnPropertyMap 字段位置和java属性的映射关系
     * @param summaryColumnPropertyMap 统计字段和java属性的映射关系
     * @param <T>
     * @return
     */
    public <T> PaginationQueryResult<T> query(PaginationQuery paginationQuery, Class<T> classType, Map<Integer,String> columnPropertyMap, Map<Integer,String> summaryColumnPropertyMap);
}

